<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>GROOPS - observationType</title>

    <!-- JQuery and Popper -->
    <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>

    <!-- Bootstrap -->
    <!-- https://getbootstrap.com/docs/4.1/examples/ -->
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

    <!-- Mathjax -->
    <script type="text/x-mathjax-config">
    MathJax.Hub.Config({tex2jax: {inlineMath: [ ['$','$'] ],
                                  displayMath: [ ["\\[","\\]"] ],
                                  processEscapes: true},
                        TeX:     {Macros: {M: ["{\\mathbf #1}",1]},
                                  equationNumbers: {autoNumber: "all"}  }});
    </script>
    <script async src="https://cdn.jsdelivr.net/npm/mathjax@2.7.7/MathJax.js?config=TeX-AMS_CHTML" integrity="sha384-e/4/LvThKH1gwzXhdbY2AsjR3rm7LHWyhIG5C0jiRfn8AN2eTN5ILeztWw0H9jmN" crossorigin="anonymous"></script>

    <!-- lunr -->
    <script src="https://cdn.jsdelivr.net/npm/lunr@2.3.8/lunr.min.js" integrity="sha384-vRQ9bDyE0Wnu+lMfm57BlYLO0/XauFuKpVsZPs7KEDwYKktWi5+Kz3MP8++DFlRY" crossorigin="anonymous"></script>

    <!-- Mustache -->
    <script src="https://cdn.jsdelivr.net/npm/mustache@4.0.1/mustache.min.js" integrity="sha384-0PLEZVBpOQ+Kqw3anJWSNWvRxpEFt02tSpBvyRsA4WcvX/OTldWdXxGLVLvh954H" crossorigin="anonymous"></script>

    <!-- GROOPS Stylesheet -->
    <link rel="stylesheet" href="static/groops.css"/>

    <!-- icon -->
    <link rel="icon" href="static/groops_icon.png">

</head>
<body>
    <header>
        <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
            <div class="container">
              <a class="navbar-brand" href="index.html"><img class="logo" src="static/groops_white.svg"></a>
              <div class="collapse navbar-collapse" id="mainNavbar">
                <ul class="navbar-nav mr-auto">
                  <li class="nav-item">
                    <a class="nav-link" href="programType.html">Programs</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="classes.html">Classes</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="general.parser.html">Parser</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="general.fileFormat.html">File Formats</a>
                  </li>
                </ul>
              </div>
                <form class="form-inline my-2 my-lg-0" action="search.html" id="searchTools">
                  <input class="form-control mr-sm-2" placeholder="Search" name="searchTerms" method="GET" value="" type="text" id="searchBox">
                  <button class="btn btn-secondary my-2 my-sm-0" type="submit" id="searchButton">Search</button>
                </form>
              <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mainNavbar" aria-controls="mainNavbar" aria-expanded="false" aria-label="Toggle navigation" style="">
                <span class="navbar-toggler-icon"></span>
              </button>
            </div>
        </nav>
    </header>
    <main class="container px-0 pt-2 top-buffer">
        <div id="content" class="container">
            
<h1 id="observationType">Observation</h1><p>
This class set up the oberservation equations in linearized Gauss-Makoff model
\[\label{gmm}
\M l  = \M A \M x + \M e\qquad\text{and}\qquad\mathcal{C}(\M e) = \sigma^2\M P^{-1}.
\]The observations are divided into short data blocks which can computed independently
and so easily can be parallized. Usually this data blocks are short arcs of a
satellites orbit. In most cases the unknown parameter vector contains coefficients
of a gravity field parametrization given by <a class="groops-class" href="parametrizationGravityType.html">parametrizationGravity</a>.
Additional parameters like instrument calibrations parameters are appended at the
end of the vector $\M x$.
It is possible to give several observation vectors in one model.</p><p>The observations within each arc are decorrelated in the following way:
In a first step a cholesky decomposition of the covariance matrix is performed
\[
\M P^{-1} = \M W^T\M W,
\]where $\M W$ is an upper regular triangular matrix.
In a second step the transformation
\[\label{dekorrelierung}
\bar{\M A} = \M W^{-T}\M A\qquad\text{and}\qquad \bar{\M l} = \M W^{-T}\M l
\]gives an estimation from decorrelated observations with equal variance
\[\label{normal.GMM}
\bar{\M l} = \bar{\M A} \M x + \bar{\M e}
\qquad\text{and}\qquad
\mathcal{C}(\bar{\M e})= \sigma^2 \M I.
\]Usually the arc depending parameters are eliminated in the next step.
</p>

<h2 id="podVariational">PodVariational</h2><p>
The observation equations for precise orbit data (POD) are formulated as variational equations.
It is based on <a class="groops-file" href="fileFormat_variationalEquation.html">inputfileVariational</a> calculated with <a class="groops-program" href="PreprocessingVariationalEquation.html">PreprocessingVariationalEquation</a>.
Necessary integrations are performed by integrating a moving interpolation polynomial of degree <strong class="groops-config-element">integrationDegree</strong>.</p><p>The kinematic positions as pseudo observations are taken from
<strong class="groops-config-element">rightHandSide</strong> and should not given equally spaced in time. The observation
equations are interpolated to these times by a moving polynomial of degree <strong class="groops-config-element">interpolationDegree</strong>.</p><p>The accuracy or the full covariance matrix of the precise orbit data is provided in
<a class="groops-class" href="covariancePodType.html">covariancePod</a> and can be estimated with <a class="groops-program" href="PreprocessingPod.html">PreprocessingPod</a>.</p><p><strong class="groops-config-element">accelerateComputation</strong>: In the event that the sampling of the kinematic orbit is much higher than the sampling
of the variational equations (e.g. 1 second vs. 5 seconds) the accumulation of the observation equations
can be accelerated by transforming the observation equations
\[
  \M l = \M J \M A \M x + \M e,
\]where $\M J$ describes the interpolation of the sampling of the variational design matrix $\M A$
to the sampling of the observations $\M l$ with more rows than columns. The QR decomposition
\[
  \M J = \begin{pmatrix} \M Q_1 & \M Q_2 \end{pmatrix}
         \begin{pmatrix} \M R \\ \M 0 \end{pmatrix}.
\]can be used to transform the observation equations
\[
  \begin{pmatrix} \M Q_1^T \M l \\ \M Q_2^T \M l \end{pmatrix} =
  \begin{pmatrix} \M Q_1^T \M R \\ \M 0 \end{pmatrix} \M A \M x +
  \begin{pmatrix} \M Q_1^T \M e \\ \M Q_2^T \M e \end{pmatrix}.
\]As the zero lines should not be considered the computational time for the accumulation is reduced.
This option is not meaningful for evaluating the residuals such in <a class="groops-program" href="PreprocessingPod.html">PreprocessingPod</a>.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">rightHandSide</div></div></td><td>sequence</td><td>input for observation vectors</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">inputfileOrbit</div></div></td><td>filename</td><td>kinematic positions as observations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileVariational</div></div></td><td>filename</td><td>approximate position and integrated state matrix</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">ephemerides</div></div></td><td><a href="ephemeridesType.html">ephemerides</a></td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">parametrizationGravity</div></div></td><td><a href="parametrizationGravityType.html">parametrizationGravity</a></td><td>gravity field parametrization</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">parametrizationAcceleration</div></div></td><td><a href="parametrizationAccelerationType.html">parametrizationAcceleration</a></td><td>orbit force parameters</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">integrationDegree</div></div></td><td>uint</td><td>integration of forces by polynomial approximation of degree n</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">interpolationDegree</div></div></td><td>uint</td><td>orbit interpolation by polynomial approximation of degree n</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">accelerateComputation</div></div></td><td>boolean</td><td>acceleration of computation by transforming the observations</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">covariancePod</div></div></td><td><a href="covariancePodType.html">covariancePod</a></td><td>covariance matrix of kinematic orbits</td></tr>
</table>

<h2 id="podIntegral">PodIntegral</h2><p>
The observation equations for precise orbit data (POD) of short arcs are given by
\[
  {\M r}_\epsilon(\tau) = {\M r}_A(1-\tau) + {\M r}_B\tau - T^2\int_0^1 K(\tau,\tau')
  \left(\M f_0(\tau')+\nabla V(\tau')\right)\,d\tau'
\]with the integral kernel
\[
  K(\tau,\tau') = \begin{cases} \tau'(1-\tau) & \text{for }\tau'\le\tau \\
  \tau(1-\tau') & \text{for }\tau'>\tau \end{cases},
\]and the normalized time
\[
  \tau = \frac{t-t_A}{T}\qquad\text{with}\qquad T=t_B-t_A.
\]The kinematic positions ${\M r}_\epsilon(\tau)$ as pseudo observations are taken from
<a class="groops-class" href="podRightSideType.html">rightHandSide</a>. From these positions the influence of the reference forces $\M f_0(\tau)$
is subtracted which are computed with the background models in <a class="groops-class" href="podRightSideType.html">rightHandSide</a>.
The integral is solved by the integration of a moving interpolation polynomial of degree <strong class="groops-config-element">integrationDegree</strong>.
The boundary values ${\M r}_A$ and ${\M r}_B$ (satellite's state vector) are estimated per arc
and are usally directly eliminated if <strong class="groops-config-element">keepSatelliteStates</strong> is not set.</p><p>The unknown gravity field $\nabla V(\M r, t)$ parametrized by <a class="groops-class" href="parametrizationGravityType.html">parametrizationGravity</a>
is not evaluated at the observed positions but at the orbit given by <a class="groops-class" href="fileFormat_instrument.html">inputfileOrbit</a>.
The same is true for the reference forces. The linearized effect of the gravity field change by the position
adjustment is taken into account by <strong class="groops-config-element">gradientfield</strong>. This may be a low order field up to a
spherical harmonics degree of $n=2$ or $n=3$.</p><p>The <a class="groops-class" href="fileFormat_instrument.html">inputfileOrbit</a>, <a class="groops-class" href="fileFormat_instrument.html">inputfileStarCamera</a>, and <a class="groops-class" href="fileFormat_instrument.html">inputfileAccelerometer</a>
must be synchronous and must be given with a constant sampling and without any gaps in each short arc
(see <a class="groops-program" href="InstrumentSynchronize.html">InstrumentSynchronize</a>).
The kinematic positions ${\M r}_\epsilon(\tau)$ should not given equally spaced in time
but must be divided into the same arcs as the other instrument data.
The observation equations are interpolated to this time by a polynomial interpolation
with degree <strong class="groops-config-element">interpolationDegree</strong>.</p><p>The accuracy or the full covariance matrix of the precise orbit data is provided in
<a class="groops-class" href="covariancePodType.html">covariancePod</a> and can be estimated with <a class="groops-program" href="PreprocessingPod.html">PreprocessingPod</a>.</p><p>For <strong class="groops-config-element">accelerateComputation</strong> see <a class="groops-class" href="observationType.html#podVariational">observation:podVariational</a>.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">inputfileSatelliteModel</div></div></td><td>filename</td><td>satellite macro model</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">rightHandSide</div></div></td><td><a href="podRightSideType.html">podRightSide</a></td><td>input for the reduced observation vector</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileOrbit</div></div></td><td>filename</td><td>used to evaluate the observation equations, not used as observations</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileStarCamera</div></div></td><td>filename</td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">earthRotation</div></div></td><td><a href="earthRotationType.html">earthRotation</a></td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">ephemerides</div></div></td><td><a href="ephemeridesType.html">ephemerides</a></td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">gradientfield</div></div></td><td><a href="gravityfieldType.html">gravityfield</a></td><td>low order field to estimate the change of the gravity by position adjustement</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">parametrizationGravity</div></div></td><td><a href="parametrizationGravityType.html">parametrizationGravity</a></td><td>gravity field parametrization</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">parametrizationAcceleration</div></div></td><td><a href="parametrizationAccelerationType.html">parametrizationAcceleration</a></td><td>orbit force parameters</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">keepSatelliteStates</div></div></td><td>boolean</td><td>set boundary values of each arc global</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">integrationDegree</div></div></td><td>uint</td><td>integration of forces by polynomial approximation of degree n</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">interpolationDegree</div></div></td><td>uint</td><td>orbit interpolation by polynomial approximation of degree n</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">accelerateComputation</div></div></td><td>boolean</td><td>acceleration of computation by transforming the observations</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">covariancePod</div></div></td><td><a href="covariancePodType.html">covariancePod</a></td><td>covariance matrix of kinematic orbits</td></tr>
</table>

<h2 id="podAcceleration">PodAcceleration</h2><p>
The observation equations for precise orbit data (POD) are given by
\[
\ddot{\M r}(t) - \M g_0(t) = \nabla V(\M r, t),
\]where the accelerations of the satellite $\ddot{\M r}(t)$ are derived from the kinematic positions
in <a class="groops-class" href="podRightSideType.html">rightHandSide</a>. The orbit differentation is performed by a moving
polynomial interpolation or approximation with degree <strong class="groops-config-element">interpolationDegree</strong>
and number of used epochs <strong class="groops-config-element">numberOfEpochs</strong>. The reference forces $\M g_0(t)$ are computed
with the background models in <a class="groops-class" href="podRightSideType.html">rightHandSide</a>.</p><p>All instrument data <a class="groops-class" href="fileFormat_instrument.html">inputfileOrbit</a>, <a class="groops-class" href="fileFormat_instrument.html">inputfileStarCamera</a>,
and <a class="groops-class" href="fileFormat_instrument.html">inputfileAccelerometer</a> must be synchronous and be given
with a constant sampling without any gaps in each short arc (see <a class="groops-program" href="InstrumentSynchronize.html">InstrumentSynchronize</a>).</p><p>The unknown gravity field $\nabla V(\M r, t)$ parametrized by <a class="groops-class" href="parametrizationGravityType.html">parametrizationGravity</a>
is not evaluated at the observed positions but at the orbit given by <a class="groops-class" href="fileFormat_instrument.html">inputfileOrbit</a>.
The same is true for the reference forces. This orbit may be a more accurate dynamical orbit but
in most cases the kinematic orbit provides good results.</p><p>The accuracy or the full covariance matrix of the precise orbit data is provided in
<a class="groops-class" href="covariancePodType.html">covariancePod</a> and can be estimated with <a class="groops-program" href="PreprocessingPod.html">PreprocessingPod</a>.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">inputfileSatelliteModel</div></div></td><td>filename</td><td>satellite macro model</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">rightHandSide</div></div></td><td><a href="podRightSideType.html">podRightSide</a></td><td>input for the reduced observation vector</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileOrbit</div></div></td><td>filename</td><td>used to evaluate the observation equations, not used as observations</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileStarCamera</div></div></td><td>filename</td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">earthRotation</div></div></td><td><a href="earthRotationType.html">earthRotation</a></td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">ephemerides</div></div></td><td><a href="ephemeridesType.html">ephemerides</a></td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">parametrizationGravity</div></div></td><td><a href="parametrizationGravityType.html">parametrizationGravity</a></td><td>gravity field parametrization</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">parametrizationAcceleration</div></div></td><td><a href="parametrizationAccelerationType.html">parametrizationAcceleration</a></td><td>orbit force parameters</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">interpolationDegree</div></div></td><td>uint</td><td>orbit differentation  by polynomial approximation of degree n</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">numberOfEpochs</div></div></td><td>uint</td><td>number of used Epochs for polynom computation</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">covariancePod</div></div></td><td><a href="covariancePodType.html">covariancePod</a></td><td>covariance matrix of kinematic orbits</td></tr>
</table>

<h2 id="podEnergy">PodEnergy</h2><p>
The observation equations for precise orbit data (POD) are given by
\[
  \frac{1}{2}\dot{\M r}^2
  -\dot{\M r} \cdot (\M\Omega\times\M r)
  +\int_{t_0}^t(\dot{\M\Omega}\times\M r)\cdot \dot{\M r}\,dt
  - \int_{t_0}^t \M g_0 \cdot\dot{\M r}'\,dt
  = V + E.
\]where the velocities of the satellite $\ddot{\M r}(t)$ are derived from
the kinematic positions in <a class="groops-class" href="podRightSideType.html">rightHandSide</a> and the Earth's rotation vector $\M\Omega(t)$ is modeled
within <a class="groops-class" href="earthRotationType.html">earthRotation</a>. The orbit differentation is
performed by a polynomial interpolation with degree <strong class="groops-config-element">interpolationDegree</strong>.
The integrals are solved a polynomial interpolation with degree <strong class="groops-config-element">integrationDegree</strong>.
The reference forces $\M g_0(t)$ are computed with the background models in <a class="groops-class" href="podRightSideType.html">rightHandSide</a>.</p><p>All instrument data <a class="groops-class" href="fileFormat_instrument.html">inputfileOrbit</a>, <a class="groops-class" href="fileFormat_instrument.html">inputfileStarCamera</a>, and <a class="groops-class" href="fileFormat_instrument.html">inputfileAccelerometer</a>
must be synchronous and be given with a constant sampling without any gaps in each short arc
(see <a class="groops-program" href="InstrumentSynchronize.html">InstrumentSynchronize</a>).</p><p>The unknown gravity potential $V(\M r)$ parametrized by <a class="groops-class" href="parametrizationGravityType.html">parametrizationGravity</a>
is not evaluated at the observed positions but at the orbit given by <a class="groops-class" href="fileFormat_instrument.html">inputfileOrbit</a>.
The same is true for the reference forces. This orbit may be a more accurate dynamical orbit but
in most cases the kinematic orbit provides good results.</p><p>An unknown energy bias $E$ per arc is parametrized by <a class="groops-class" href="parametrizationTemporalType.html">parametrizationBias</a>
and should be a constant in theory but temporal changes might help to absorb other unmodelled effects.</p><p>The accuracy or the full covariance matrix of the precise orbit data is provided in
<a class="groops-class" href="covariancePodType.html">covariancePod</a> and can be estimated with <a class="groops-program" href="PreprocessingPod.html">PreprocessingPod</a>.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">inputfileSatelliteModel</div></div></td><td>filename</td><td>satellite macro model</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">rightHandSide</div></div></td><td><a href="podRightSideType.html">podRightSide</a></td><td>input for the reduced observation vector</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileOrbit</div></div></td><td>filename</td><td>used to evaluate the observation equations, not used as observations</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileStarCamera</div></div></td><td>filename</td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">earthRotation</div></div></td><td><a href="earthRotationType.html">earthRotation</a></td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">ephemerides</div></div></td><td><a href="ephemeridesType.html">ephemerides</a></td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">parametrizationGravity</div></div></td><td><a href="parametrizationGravityType.html">parametrizationGravity</a></td><td>gravity field parametrization (potential)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">parametrizationBias</div></div></td><td><a href="parametrizationTemporalType.html">parametrizationTemporal</a></td><td>unknown total energy per arc</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">interpolationDegree</div></div></td><td>uint</td><td>orbit differentation  by polynomial approximation of degree n</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">integrationDegree</div></div></td><td>uint</td><td>integration of forces by polynomial approximation of degree n</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">covariancePod</div></div></td><td><a href="covariancePodType.html">covariancePod</a></td><td>covariance matrix of kinematic orbits</td></tr>
</table>

<h2 id="sstVariational">SstVariational</h2><p>
Like <a class="groops-class" href="observationType.html#podVariational">observation:podVariational</a> (see there for details)
but with two satellites and additional satellite-to-satellite (SST) observations.</p><p>If multiple <a class="groops-class" href="fileFormat_instrument.html">inputfileSatelliteTracking</a> are given
all data are add together. So corrections in extra files like the light time correction
can easily be added. Empirical parameters for the SST observations can be setup with
<a class="groops-class" href="parametrizationSatelliteTrackingType.html">parametrizationSst</a>.
The accuracy or the full covariance matrix of SST is provided in
<a class="groops-class" href="covarianceSstType.html">covarianceSst</a>.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">rightHandSide</div></div></td><td>sequence</td><td>input for observation vectors</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional-unbounded">inputfileSatelliteTracking</div></div></td><td>filename</td><td>ranging observations and corrections</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional">inputfileOrbit1</div></div></td><td>filename</td><td>kinematic positions of satellite A as observations</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional">inputfileOrbit2</div></div></td><td>filename</td><td>kinematic positions of satellite B as observations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">sstType</div></div></td><td>choice</td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">range</div></div></td><td></td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">rangeRate</div></div></td><td></td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">none</div></div></td><td></td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileVariational1</div></div></td><td>filename</td><td>approximate position and integrated state matrix</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileVariational2</div></div></td><td>filename</td><td>approximate position and integrated state matrix</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">ephemerides</div></div></td><td><a href="ephemeridesType.html">ephemerides</a></td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">parametrizationGravity</div></div></td><td><a href="parametrizationGravityType.html">parametrizationGravity</a></td><td>gravity field parametrization</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">parametrizationAcceleration1</div></div></td><td><a href="parametrizationAccelerationType.html">parametrizationAcceleration</a></td><td>orbit1 force parameters</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">parametrizationAcceleration2</div></div></td><td><a href="parametrizationAccelerationType.html">parametrizationAcceleration</a></td><td>orbit2 force parameters</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">parametrizationSst</div></div></td><td><a href="parametrizationSatelliteTrackingType.html">parametrizationSatelliteTracking</a></td><td>satellite tracking parameter</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">integrationDegree</div></div></td><td>uint</td><td>integration of forces by polynomial approximation of degree n</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">interpolationDegree</div></div></td><td>uint</td><td>orbit interpolation by polynomial approximation of degree n</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">covarianceSst</div></div></td><td><a href="covarianceSstType.html">covarianceSst</a></td><td>covariance matrix of satellite to satellite tracking observations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">covariancePod1</div></div></td><td><a href="covariancePodType.html">covariancePod</a></td><td>covariance matrix of kinematic orbits (satellite 1)</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">covariancePod2</div></div></td><td><a href="covariancePodType.html">covariancePod</a></td><td>covariance matrix of kinematic orbits (satellite 2)</td></tr>
</table>

<h2 id="sstIntegral">SstIntegral</h2><p>
Like <a class="groops-class" href="observationType.html#podIntegral">observation:podIntegral</a> (see there for details)
but with two satellites and additional satellite-to-satellite (SST) observations.</p><p>If multiple <a class="groops-class" href="fileFormat_instrument.html">inputfileSatelliteTracking</a> are given
all data are add together. So corrections in extra files like the light time correction
can easily be added. Empirical parameters for the SST observations can be setup with
<a class="groops-class" href="parametrizationSatelliteTrackingType.html">parametrizationSst</a>.
The accuracy or the full covariance matrix of SST is provided in
<a class="groops-class" href="covarianceSstType.html">covarianceSst</a>.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">inputfileSatelliteModel1</div></div></td><td>filename</td><td>satellite macro model</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">inputfileSatelliteModel2</div></div></td><td>filename</td><td>satellite macro model</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">rightHandSide</div></div></td><td><a href="sstRightSideType.html">sstRightSide</a></td><td>input for the reduced observation vector</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">sstType</div></div></td><td>choice</td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">range</div></div></td><td></td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">rangeRate</div></div></td><td></td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">rangeAcceleration</div></div></td><td></td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">none</div></div></td><td></td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileOrbit1</div></div></td><td>filename</td><td>used to evaluate the observation equations, not used as observations</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileOrbit2</div></div></td><td>filename</td><td>used to evaluate the observation equations, not used as observations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileStarCamera1</div></div></td><td>filename</td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileStarCamera2</div></div></td><td>filename</td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">earthRotation</div></div></td><td><a href="earthRotationType.html">earthRotation</a></td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">ephemerides</div></div></td><td><a href="ephemeridesType.html">ephemerides</a></td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">gradientfield</div></div></td><td><a href="gravityfieldType.html">gravityfield</a></td><td>low order field to estimate the change of the gravity by position adjustement</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">parametrizationGravity</div></div></td><td><a href="parametrizationGravityType.html">parametrizationGravity</a></td><td>gravity field parametrization</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">parametrizationAcceleration1</div></div></td><td><a href="parametrizationAccelerationType.html">parametrizationAcceleration</a></td><td>orbit1 force parameters</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">parametrizationAcceleration2</div></div></td><td><a href="parametrizationAccelerationType.html">parametrizationAcceleration</a></td><td>orbit2 force parameters</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">parametrizationSst</div></div></td><td><a href="parametrizationSatelliteTrackingType.html">parametrizationSatelliteTracking</a></td><td>satellite tracking parameter</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">keepSatelliteStates</div></div></td><td>boolean</td><td>set boundary values of each arc global</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">integrationDegree</div></div></td><td>uint</td><td>integration of forces by polynomial approximation of degree n</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">interpolationDegree</div></div></td><td>uint</td><td>orbit interpolation by polynomial approximation of degree n</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">covarianceSst</div></div></td><td><a href="covarianceSstType.html">covarianceSst</a></td><td>covariance matrix of satellite to satellite tracking observations</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">covariancePod1</div></div></td><td><a href="covariancePodType.html">covariancePod</a></td><td>covariance matrix of kinematic orbits (satellite 1)</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">covariancePod2</div></div></td><td><a href="covariancePodType.html">covariancePod</a></td><td>covariance matrix of kinematic orbits (satellite 2)</td></tr>
</table>

<h2 id="gradiometer">Gradiometer</h2><p>
Observation equations for satellite gravity gradiometry (SGG)
\[
  \nabla\nabla V(\M r) =
  \begin{pmatrix}
    \frac{\partial^2 V}{\partial x^2}         & \frac{\partial^2 V}{\partial x\partial y} & \frac{\partial^2 V}{\partial x\partial z} \\
    \frac{\partial^2 V}{\partial y\partial x} & \frac{\partial^2 V}{\partial y^2}         & \frac{\partial^2 V}{\partial y\partial z} \\
    \frac{\partial^2 V}{\partial z\partial x} & \frac{\partial^2 V}{\partial z\partial y} & \frac{\partial^2 V}{\partial z^2}
  \end{pmatrix}.
\]From the <a class="groops-class" href="fileFormat_instrument.html">inputfileGradiometer</a> observations precomputed <a class="groops-class" href="fileFormat_instrument.html">inputfileReferenceGradiometer</a>
together with other background models are reduced, all given in <a class="groops-class" href="sggRightSideType.html">rightHandSide</a>.</p><p>All instrument data <a class="groops-class" href="fileFormat_instrument.html">inputfileGradiometer</a>, <a class="groops-class" href="fileFormat_instrument.html">inputfileOrbit</a>,
and <a class="groops-class" href="fileFormat_instrument.html">inputfileStarCamera</a> must be synchronous and be diveded
into each short arcs (see <a class="groops-program" href="InstrumentSynchronize.html">InstrumentSynchronize</a>).</p><p>Additional to the <a class="groops-class" href="parametrizationGravityType.html">parametrizationGravity</a>
an (temporal changing) bias for each gradiometer component and arc can be estimated with
<a class="groops-class" href="parametrizationTemporalType.html">parametrizationBias</a>.</p><p>The accuracy or the full covariance matrix of the gradiometer is provided in
<strong class="groops-config-element">covarianceSgg</strong> and can be estimated with <a class="groops-program" href="PreprocessingGradiometer.html">PreprocessingGradiometer</a>.</p><p></p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">rightHandSide</div></div></td><td><a href="sggRightSideType.html">sggRightSide</a></td><td>input for the observation vector</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileOrbit</div></div></td><td>filename</td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileStarCamera</div></div></td><td>filename</td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">earthRotation</div></div></td><td><a href="earthRotationType.html">earthRotation</a></td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">ephemerides</div></div></td><td><a href="ephemeridesType.html">ephemerides</a></td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">parametrizationGravity</div></div></td><td><a href="parametrizationGravityType.html">parametrizationGravity</a></td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional-unbounded">parametrizationBias</div></div></td><td><a href="parametrizationTemporalType.html">parametrizationTemporal</a></td><td>per arc</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">useXX</div></div></td><td>boolean</td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">useYY</div></div></td><td>boolean</td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">useZZ</div></div></td><td>boolean</td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">useXY</div></div></td><td>boolean</td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">useXZ</div></div></td><td>boolean</td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">useYZ</div></div></td><td>boolean</td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">covarianceSgg</div></div></td><td>sequence</td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional">sigma</div></div></td><td>double</td><td>general variance factor</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional">inputfileSigmasPerArc</div></div></td><td>filename</td><td>different accuaries for each arc (multplicated with sigma)</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional">inputfileCovarianceFunction</div></div></td><td>filename</td><td>covariance function in time</td></tr>
</table>

<h2 id="terrestrial">Terrestrial</h2><p>
The gravity field is estimated from point wise measurements.
The gravity field parametrization is given by <a class="groops-class" href="parametrizationGravityType.html">parametrizationGravity</a>.
There is no need to have the data regular distributed or given on a sphere or ellipsoid.
The type of the gridded data (e.g gravity anomalies or geoid heights)
must be set with <a class="groops-class" href="kernelType.html">kernel</a>.
A <a class="groops-class" href="gravityfieldType.html">referencefield</a> can be reduced beforehand.</p><p>The observations at given positions are calculated from
<a class="groops-class" href="fileFormat_griddedData.html">inputfileGriddedData</a>.
The input columns are enumerated by <code>data0</code>, <code>data1</code>, &hellip; ,
see <a class="groops-ref" href="general.parser.html#dataVariables">dataVariables</a>.</p><p>The observations can be divided into small blocks for parallelization.
With <strong class="groops-config-element">blockingSize</strong> set the maximum count of observations in each block.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">rightHandSide</div></div></td><td>sequence</td><td>input for observation vectors</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">inputfileGriddedData</div></div></td><td>filename</td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">observation</div></div></td><td>expression</td><td>[SI units]</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional">sigma</div></div></td><td>expression</td><td>accuracy, 1/sigma used as weighting</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional-unbounded">referencefield</div></div></td><td><a href="gravityfieldType.html">gravityfield</a></td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">kernel</div></div></td><td><a href="kernelType.html">kernel</a></td><td>type of observations</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">parametrizationGravity</div></div></td><td><a href="parametrizationGravityType.html">parametrizationGravity</a></td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">time</div></div></td><td>time</td><td>for reference field and parametrization</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">blockingSize</div></div></td><td>uint</td><td>segementation of the obervations if designmatrix can't be build at once</td></tr>
</table>

<h2 id="deflections">Deflections</h2><p>
The gravity field parametrized by <a class="groops-class" href="parametrizationGravityType.html">parametrizationGravity</a>
is estimated from deflections of the vertical measurements.
A <a class="groops-class" href="gravityfieldType.html">referencefield</a> can be reduced beforehand.</p><p>The observations $\xi$ in north direction and $\eta$ in east direction
at given positions are calculated from
<a class="groops-class" href="fileFormat_griddedData.html">inputfileGriddedData</a>.
The input columns are enumerated by <code>data0</code>, <code>data1</code>, &hellip; ,
see <a class="groops-ref" href="general.parser.html#dataVariables">dataVariables</a>.</p><p>The ellipsoid parameters <strong class="groops-config-element">R</strong> and <strong class="groops-config-element">inverseFlattening</strong> are used
to define the local normal direction.</p><p>The observations can be divided into small blocks for parallelization.
With <strong class="groops-config-element">blockingSize</strong> set the maximum count of observations in each block.
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">rightHandSide</div></div></td><td>sequence</td><td>input for observation vectors</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">inputfileGriddedData</div></div></td><td>filename</td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">observationXi</div></div></td><td>expression</td><td>North-South Deflections of the Vertical [rad]</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">observationEta</div></div></td><td>expression</td><td>East-West Deflections of the Vertical  [rad]</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional">sigmaXi</div></div></td><td>expression</td><td>accuracy, 1/sigma used as weighting</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional">sigmaEta</div></div></td><td>expression</td><td>accuracy, 1/sigma used as weighting</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional-unbounded">referencefield</div></div></td><td><a href="gravityfieldType.html">gravityfield</a></td><td></td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">parametrizationGravity</div></div></td><td><a href="parametrizationGravityType.html">parametrizationGravity</a></td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">time</div></div></td><td>time</td><td>for reference field and parametrization</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">R</div></div></td><td>double</td><td>reference radius for ellipsoid</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">inverseFlattening</div></div></td><td>double</td><td>reference flattening for ellipsoid, 0: sphere</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">blockingSize</div></div></td><td>uint</td><td>segementation of the obervations if designmatrix can't be build at once</td></tr>
</table>

<h2 id="stationLoading">StationLoading</h2><p>
Observation equations for displacements of a list of stations
due to the effect of time variable loading masses. The displacement $\M u$ of a station is calculated according to
\[
\M u(\M r) = \frac{1}{\gamma}\sum_{n=0}^\infty \left[\frac{h_n}{1+k_n}V_n(\M r)\,\M e_{up}
+ R\frac{l_n}{1+k_n}\left(
 \frac{\partial V_n(\M r)}{\partial \M e_{north}}\M e_{north}
+\frac{\partial V_n(\M r)}{\partial \M e_{east}} \M e_{east}\right)\right],
\]where $\gamma$ is the normal gravity, the load Love and Shida numbers $h_n,l_n$ are given by
<a class="groops-class" href="fileFormat_matrix.html">inputfileDeformationLoadLoveNumber</a> and the load Love numbers $k_n$ are given by
<a class="groops-class" href="fileFormat_matrix.html">inputfilePotentialLoadLoveNumber</a>.
The $V_n$ are the spherical harmonics expansion of degree $n$ of the full time variable
gravitational potential (potential of the loading mass + deformation potential)
parametrized by <a class="groops-class" href="parametrizationGravityType.html">parametrizationGravity</a>.
Additional parameters can be setup to estimate the realization of the reference frame
of the station coordinates (<strong class="groops-config-element">estimateTranslation</strong>,
<strong class="groops-config-element">estimateRotation</strong>, and <strong class="groops-config-element">estimateScale</strong>).</p><p>The observations at stations coordinates are calculated from
<a class="groops-class" href="fileFormat_griddedData.html">inputfileGriddedData</a>.
The input columns are enumerated by <code>data0</code>, <code>data1</code>, &hellip; ,
see <a class="groops-ref" href="general.parser.html#dataVariables">dataVariables</a>.</p><p>The ellipsoid parameters <strong class="groops-config-element">R</strong> and <strong class="groops-config-element">inverseFlattening</strong> are used
to define the local frame (north, east, up).</p><p>See also <a class="groops-program" href="Gravityfield2DisplacementTimeSeries.html">Gravityfield2DisplacementTimeSeries</a>.</p><p>Reference:
Rietbroek (2014): Retrieval of Sea Level and Surface Loading Variations from Geodetic Observations
and Model Simulations: an Integrated Approach, Bonn, 2014. - Dissertation,
<a href="https://nbn-resolving.org/urn:nbn:de:hbz:5n-35460" target="_blank">https://nbn-resolving.org/urn:nbn:de:hbz:5n-35460</a>
</p>
<table class="table table-hover">
<tr class="table-primary"><th>Name</th><th>Type</th><th>Annotation</th></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">rightHandSide</div></div></td><td>sequence</td><td>input for observation vectors</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">inputfileGriddedData</div></div></td><td>filename</td><td>station positions with displacement data</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">observationNorth</div></div></td><td>expression</td><td>displacement [m]</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">observationEast</div></div></td><td>expression</td><td>displacement [m]</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config mustset">observationUp</div></div></td><td>expression</td><td>displacement [m]</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional">sigmaNorth</div></div></td><td>expression</td><td>accuracy, 1/sigma used as weighting</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional">sigmaEast</div></div></td><td>expression</td><td>accuracy, 1/sigma used as weighting</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional">sigmaUp</div></div></td><td>expression</td><td>accuracy, 1/sigma used as weighting</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional">inGlobalFrame</div></div></td><td>boolean</td><td>obs/sigmas given in global x,y,z frame instead of north,east,up</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-1"><div class="h-100 config optional-unbounded">referencefield</div></div></td><td><a href="gravityfieldType.html">gravityfield</a></td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">time</div></div></td><td>time</td><td>for reference field and parametrization</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset-unbounded">parametrizationGravity</div></div></td><td><a href="parametrizationGravityType.html">parametrizationGravity</a></td><td>of loading (+defo) potential</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">estimateTranslation</div></div></td><td>boolean</td><td>coordinate center</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">estimateScale</div></div></td><td>boolean</td><td>scale factor of position</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">estimateRotation</div></div></td><td>boolean</td><td>rotation</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config mustset">inputfileDeformationLoadLoveNumber</div></div></td><td>filename</td><td></td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">inputfilePotentialLoadLoveNumber</div></div></td><td>filename</td><td>if full potential is given and not only loading potential</td></tr>
<tr class=""><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">R</div></div></td><td>double</td><td>reference radius for ellipsoid</td></tr>
<tr class="table-light"><td class="m-0"><div class="h-100 config-tree depth-0"><div class="h-100 config optional">inverseFlattening</div></div></td><td>double</td><td>reference flattening for ellipsoid, 0: sphere</td></tr>
</table>

        </div>
    </main>
</body>
</html>
